{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 利用傅里叶变换进行周期插值\n",
    "\n",
    "对于一个周期函数，我们可以考虑进行傅里叶级数进行展开。\n",
    "更加一般化地，我们可以引入傅里叶变换以及离散傅里叶变换。\n",
    "对于公式我们并不陌生，但是这里仍然给出一些我们个人的理解。\n",
    "\n",
    "如果我们将要展开的函数看作是一个正空间的周期函数，即\n",
    "\n",
    "$$ V(\\vec{r}) = \\sum_G c_G \\cdot e^{i\\vec{G} \\cdot \\vec{r}} $$\n",
    "\n",
    "这里 $ V(\\vec{r}) $ 是一个周期函数，假设每个维度的基矢为\n",
    "$ \\vec{a}_1, \\vec{a}_2, ... $, 则\n",
    "$ \\vec{G} = \\lambda_1 \\vec{b}_1 + \\lambda_2 \\vec{b}_2 + ... $\n",
    "为**倒格矢**，即 $ \\lambda_i $ 为整数。\n",
    "根据傅里叶变化可知，这里的系数为\n",
    "\n",
    "$$ c_G = \\frac{1}{\\Omega} \\sum_r V(\\vec{r}) \\cdot e^{-i\\vec{G} \\cdot \\vec{r}} $$\n",
    "\n",
    "这里，如果我们假定 $ \\vec{r} = \\frac{m}{M} \\vec{a}_1 + \\frac{n}{N} \\vec{a}_2 $，\n",
    "$ \\vec{G} = P \\vec{b}_1 + Q \\vec{b}_2 $, 则\n",
    "$ i\\vec{G} \\cdot \\vec{r} = 2 \\pi i \\cdot \\left[ P \\cdot \\frac{m}{M} + Q \\cdot \\frac{n}{N} \\right] $ ,\n",
    "且 $ \\Omega = M \\cdot N $ 。\n",
    "\n",
    "与此同时，关于傅里叶变化还有另外一种理解，也是 numpy/scipy 中的默认行为的一个解释。\n",
    "我们可以将正空间的数据看作是一个绝对可积的函数，也就是时域空间，\n",
    "此时既不考虑它的周期性，也并不对应一个可重复单元，\n",
    "而是整个空间上孤立的有值的函数部分，假定其空间长度为 $ T $,\n",
    "此时傅里叶变化就是将其处理到频域空间。\n",
    "此时，傅里叶变化就是对原始离散的信号进行不同频率的离散采样并求和的结果，即\n",
    "\n",
    "$$ F(\\omega) = \\sum_i f(t_i) e^{-i \\omega t_i} $$\n",
    "\n",
    "$$ \\omega = k \\cdot \\frac{2 \\pi}{T}, k = 0, 1, 2, ... $$\n",
    "\n",
    "注意这里 e 指数上面为负值，和前面倒空间系数表达式相同，但是没有前置的归一化因子。\n",
    "但是，这就是 numpy/scipy 的默认行为（norm='backward'）。\n",
    "在我们进行倒空间分解时，为了的是归一化因子能够正常工作，\n",
    "需要指定 norm='forward'。\n",
    "\n",
    "我们还是回到倒空间分解的理解。这里还有一个问题，即需要分解的倒格矢的选择。\n",
    "默认地，或者说比较直接地，取值为 $ P = 0, 1, 2,...,N-1 $，Q 也类似。\n",
    "然而在实际情况下，我们更加需要 -N/2 ~ N/2 这样一个对称的区间，\n",
    "两个互为相反数的格式对应的系数是共轭的，最终完全得到一个实函数，\n",
    "而且也更加符合直觉：即越偏离中心的地方，投影的的系数绝对值越小。\n",
    "为了在 numpy 中解决这个问题，我们的思路可以有：\n",
    "\n",
    "- 手动按照公式进行处理，舍弃 fft 库。虽然方便，但是不够优雅。\n",
    "- fftshift 函数: 这个可以实现中心化傅里叶变换，但是对于高维的支持不好。\n",
    "- fftfreq 函数: 不改变原先的傅里叶变化结果，但是重新得到新的中心化的自变量。\n",
    "  我们就是采用这种方式。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from numpy import fft\n",
    "import matplotlib.pyplot as plt\n",
    "from itertools import product"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里我们构建一个具有 “周期性” 的数据，产生办法是：\n",
    "首先构造一个具有两个峰值的函数，且两个维度都是单位范围内，\n",
    "然后利用平移对称性，直接将其叠加上来。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x7f2399f0af40>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "M, N = 10,7\n",
    "\n",
    "x = np.arange(M)/M\n",
    "y = np.arange(N)/N\n",
    "xi, yi = np.meshgrid(x, y)\n",
    "\n",
    "fx = lambda _x, _y:\\\n",
    "    np.exp(-((_x-15/40)**2+(_y-10/30)**2)/0.04)\\\n",
    "    + 0.8*np.exp(-((_x-30/40)**2+(_y-20/30)**2)/0.03)\n",
    "\n",
    "# zi = fx(xi/umax, yi/vmax)\n",
    "zi = sum(fx(xi+x_shift, yi+y_shift) for x_shift, y_shift in product([-1,0,1], repeat=2))\n",
    "plt.imshow(zi)\n",
    "plt.colorbar(orientation='horizontal')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x7f2397c5bfd0>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 8 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cg = fft.fft2(zi, norm='forward')\n",
    "u = fft.fftfreq(M)*M\n",
    "v = fft.fftfreq(N)*N\n",
    "ui, vi = np.meshgrid(u, v)\n",
    "\n",
    "plt.subplot(2,2,1)\n",
    "plt.imshow(cg.real)\n",
    "plt.colorbar(orientation='horizontal')\n",
    "plt.subplot(2,2,2)\n",
    "plt.imshow(cg.imag)\n",
    "plt.colorbar(orientation='horizontal')\n",
    "plt.subplot(2,2,3)\n",
    "plt.imshow(ui)\n",
    "plt.colorbar(orientation='horizontal')\n",
    "plt.subplot(2,2,4)\n",
    "plt.imshow(vi)\n",
    "plt.colorbar(orientation='horizontal')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这里进行手动逆变化，利用上应该得到原始的图像，以此验证我们逆变换的正确性。\n",
    "这里，我们将倒空间的向左延伸了两个维度，正空间还在原来的维度。\n",
    "如果数据的维度很大，难以直接扩展成这样超高维度的数据，\n",
    "可以考虑手动安排每次需要计算的正空间的点。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x7f2397be5280>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "zg = np.exp(2j*np.pi*(ui[...,None,None]*xi+vi[...,None,None]*yi))\n",
    "zg = np.sum(cg[...,None,None]*zg, axis=(0,1))\n",
    "\n",
    "plt.subplot(1,2,1)\n",
    "plt.imshow(zg.real)\n",
    "plt.colorbar(orientation='horizontal')\n",
    "plt.subplot(1,2,2)\n",
    "plt.imshow(zg.imag)\n",
    "plt.colorbar(orientation='horizontal')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "利用已经计算好的傅里叶系数，进行自定义点的插值。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.colorbar.Colorbar at 0x7f239790fc10>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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rm1LFpwSQgghZOLCyAchhBBCcoXigxBCCCG5QvFBCCGEkFyh+CCEEEJIrlB8EEIIISRXKD5S8vDDD+Pcc8/FlClTsGLFCrz44ouJ2z766KO45JJLcPrpp+P000/HmjVrym7fSLLYbTM4OAilFK6++urGGhhDVpuPHj2KgYEBzJo1C93d3Vi4cCGeeeaZnKz1yGrzP/zDP+C8887D1KlTMWfOHNx5550YGRnJyVpSD1577TXcdNNNmDdvHqZOnYoFCxZg/fr1bXVriFaiWl9Fktm4cSM++MEPYtq0aZgxYwauvvpq7Nmzp9lmeQipyODgoHR1dck3vvEN+fnPfy4333yz9Pb2ypEjR2K3/9SnPiUPP/yw/OQnP5FXXnlFbrzxRunp6ZGDBw+2tN2aAwcOyLvf/W655JJL5BOf+EQ+xvpktfnUqVOybNkyufLKK2X79u1y4MAB2bZtm+zatatlbX788celu7tbHn/8cTlw4IA8++yzMmvWLLnzzjtzs5nUzve//3258cYb5dlnn5VXX31VvvOd78iMGTPkc5/7XLNNazuq9VWkPJdffrls3rxZdu/eLbt27ZIrr7xS+vv75eTJk802TSg+UrB8+XIZGBgwr4vFosyePVs2btyYav/x8XGZNm2afPOb32yUibFUY/f4+LhcfPHF8k//9E9yww035C4+str81a9+VebPny+jo6N5mVhCVpsHBgbkIx/5SGjZXXfdJatWrWqonaTxfOlLX5J58+Y124y2o1YfS9Lx5ptvCgB57rnnmm2KMO1SgdHRUezcuRNr1qwxyxzHwZo1a7Bjx45Ubbz99tsYGxvDGWec0SgzS6jW7r/+67/GjBkzcNNNN+VhZohqbP7ud7+LlStXYmBgADNnzsTixYvx4IMPoljM537q1dh88cUXY+fOnSasvH//fjzzzDO48sorc7GZNI5jx47l+j2fCNTDx5J0HDt2DABa4jPakne1bSXeeustFItFzJw5M7R85syZ+OUvf5mqjbvvvhuzZ88OfbkaTTV2b9++HV//+texa9euHCwspRqb9+/fj61bt2Lt2rV45plnsG/fPtx+++0YGxvD+vXrW9LmT33qU3jrrbewevVqiAjGx8dx66234i//8i8bbi9pHPv27cNDDz2EL3/5y802pa2oh48llXFdF3fccQdWrVqFxYsXN9scFpw2mk2b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",
      "text/plain": [
       "<Figure size 640x480 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "P, Q = 80, 60\n",
    "m = np.arange(P)/P\n",
    "n = np.arange(Q)/Q\n",
    "mi, ni = np.meshgrid(m, n)\n",
    "\n",
    "zm = np.exp(2j*np.pi*(ui[...,None,None]*mi+vi[...,None,None]*ni))\n",
    "zm = np.sum(cg[...,None,None]*zm, axis=(0,1))\n",
    "\n",
    "plt.subplot(1,2,1)\n",
    "plt.imshow(zm.real)\n",
    "plt.colorbar(orientation='horizontal')\n",
    "plt.subplot(1,2,2)\n",
    "plt.imshow(zm.imag)\n",
    "plt.colorbar(orientation='horizontal')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
